Why is slippage unpredictable in thin-liquidity swaps?
Thin liquidity makes slippage unpredictable because a trade can move a pool’s price while it executes; say, a $1,000 order may use up a large share of a small pool. The quoted output is an estimate at one moment, not a promise that the same price will still be available when the transaction lands.
Slippage grows when a trade moves the price
Slippage is the difference between the price you expect and the price you actually get. In a liquidity pool, a large trade relative to the available reserves changes the reserve balance and therefore the price; the smaller the pool, the more each trade can move it.
That price movement is called price impact. It is already reflected in a route’s estimated output. Slippage tolerance is different: it sets how much worse the final output may be than the quote before the transaction reverts. how a wallet swap runs through ParaSwap explains the wallet flow; here, the key question is how much the route’s price may shift before execution.
Thin liquidity makes that shift hard to forecast because the quote and execution happen at different times. Another trader may take the available liquidity first, a pool’s reserves may change, or a market maker may withdraw a quote. A route that looks stable for a small order can become expensive for a larger one.
A route can change between quote and execution
An aggregator checks available sources and estimates how much each can deliver for your trade. A route might use one pool, split the order across several pools, or include a direct market-maker quote. Each source has its own price, depth and execution conditions, so the total estimate depends on the particular mix.
For a pool using the common constant-product model, reserves satisfy x × y = k: as a trade adds one token and removes the other, their ratio changes. For example, if a pool holds about $50,000 worth of each token, a $5,000 trade is large relative to either reserve. It pushes the pool’s price as it fills, so the average price across the trade is worse than the starting price. Fees add another cost.
After you approve and submit the swap, the transaction waits to be included on-chain. The contract checks the actual output against a minimum-output limit derived from the quote and your slippage tolerance. If the route can no longer meet that limit, the swap reverts; if it can, it completes at an output no lower than the limit. A market-maker quote behaves differently from a pool: it may fill at its stated size and price, or fail if it expires or is no longer available.
Read the quote against your trade size
Check the estimated output, price impact, route details and fees before signing. Then compare the order size with the liquidity supporting the route: a sharp change in estimated price impact when you increase the size is a sign that the available depth is thin.
Suppose a route quotes 1,000 USDC for 0.49 ETH. With a 1% tolerance, the minimum output would be about 0.4851 ETH; a lower result makes the transaction revert. Those figures are illustrative. The quote may already include price impact and fees, while the tolerance covers further adverse movement after the quote.
Try reducing the order size and requesting a fresh quote. If the estimated output per dollar improves noticeably, the smaller trade is using less of the available liquidity. Splitting into separate transactions can help in some cases, but the market may move between them and each transaction can incur its own network cost, so check the combined result rather than assuming a split is cheaper.
When using ParaSwap, treat the displayed route as a snapshot: check which sources it uses and whether the output makes sense for your amount. If the quote changes sharply when refreshed, or the route relies on one shallow pool, wait or trade less rather than raising tolerance just to force a fill.
Set tolerance for execution risk, not for a bad quote
Choose a tolerance that allows for plausible movement while the transaction is pending, not one that makes an unattractive quote look acceptable. A very tight limit can cause a revert if the price moves slightly; a loose limit makes it easier for a worse execution to pass and can increase exposure to transaction-ordering strategies such as sandwich attacks.
First refresh the quote and inspect its minimum output. If the quote itself is poor, tolerance will not improve it. If the quote is reasonable but the market is moving, decide whether you can accept a lower output or would rather risk a revert. On Ethereum, a reverted transaction can still consume gas, so a failed attempt has a cost.
The answer changes if the trade is small compared with the liquidity and repeated quotes stay close: ordinary price movement may then matter more than pool depth, and a modest tolerance may be enough. If your order is large relative to the route, the quote jumps around, or the minimum output is unacceptable, reduce the size or wait for deeper liquidity.
Comments
Post a Comment